package com.sczmgk.hotline_pzh.view;

/**
 * Created by Administrator on 2016/6/2.
 */

import android.view.View;

import com.sczmgk.hotline_pzh.hxim.ChatMsgBean;


/**
 * 聊天消息控件接口,自定义消息实现它复写当对应的方法
 *
 */
public interface ChatMessageItem {

    /**
     * 取得长按监听，录音播放监听，录音和录相重发，录音和录像的重新下载事件，隐藏时间
     * @author Administrator
     *
     */
    public static interface Callback {
        /**
         * 获取长按监听器
         */
         View.OnLongClickListener getLongClickListener();

//        /**
//         * 获取录音播放控制器
//         */
//        RecordPlayController getRecordPlayController();

        /**
         * 录音和录像的重发点击接口
         */
        View.OnClickListener getResendClickListener();

        /**
         * 录音和录像的重新下载点事件
         */
        View.OnClickListener getRedownloadClickListener();
        /**
         * 隐藏时间
         */
        void hideTime();
    }

    /**
     * 设置隐藏时间的回调接口
     * @param callback
     */
    void setCallback(Callback callback);

    /**
     * 取得View的类型
     * @return
     */
    int getViewType();

    /**
     * 是否显示默认背景
     */
    boolean isShowBackground();

    /**
     * 设置View的内容及状态
     *
     * @param msg 消息
     */
    void setViewStatus(ChatMsgBean msg);

    /**
     * 是否显示头像
     */
    boolean isShowHeadIcon();

    /**
     * 是否显示正在发送或者发送失败的图标
     *
     * @return
     */
    boolean isShowMessageStatus();

    /**
     * 是否需要在布局中间显示
     */
    boolean isShowCenterInLayout();
}
